package InheritanceDemo3;

public class TestAnimal {
    public static void main(String[] args) {
        // 多态：父类引用指向子类对象
        Animal animal = new Bird();
        animal.eat(); // 调用父类的eat()方法（子类未重写）
        ((Bird) animal).eat("虫子"); // 强制类型转换后调用子类重载的eat方法
        ((Bird) animal).sing(); // 强制转换后调用子类特有方法

        System.out.println("-----");

        Animal fish = new Fish();
        fish.move(20); // 调用Fish重写的move方法
        ((Fish) fish).move(15, "摆动尾巴"); // 强制转换后调用Fish重载的move方法
    }
}